package com.xsd.vistor;

import java.util.LinkedList;
import java.util.List;

/**
 * @Description:
 * @Author: zhoufuzong
 * @Created: 2021-03-06 17:53:19
 * @Version: 1.1.0
 */

/**
 * 把人的成功失败属性拿了出来，让访问者去定义，人只去接受这个属性
 */
// 数据结构 管理很多人（Man ,Woman)
    // 用于管理被访问者对象，方便访问者访问
public class ObjectStucture {
    // 维护一个集合

    private List<Person> peoples = new LinkedList<>();

    // 增加到list
    public void attach(Person p){
        peoples.add(p);
    }

    // 移除
    public void detach(Person p){
        peoples.remove(p);
    }

    // 显示测评情况
    public void display(Action action){
        for (Person people : peoples) {
            people.accept(action);
        }
    }
}
